| @@ -1,3 +1,5 @@ | ||
| 1 | + | |
| 2 | + | |
| 1 | 3 | attachRatingHandler = -> | 
| 2 | 4 |  | 
| 3 | 5 | # to set summernote object | 
| @@ -8,6 +10,9 @@ attachRatingHandler = -> | ||
| 8 | 10 | summer_note.summernote | 
| 9 | 11 | # to set options | 
| 10 | 12 | height:300 | 
| 13 | + onImageUpload: (files, editor, welEditable) -> | |
| 14 | + sendFile files[0], editor, welEditable | |
| 15 | + | |
| 11 | 16 | # toolbar: [ | 
| 12 | 17 | # ['insert', ['picture', 'link']], // no insert buttons | 
| 13 | 18 | # ["table", ["table"]], | 
| @@ -28,6 +33,23 @@ attachRatingHandler = -> | ||
| 28 | 33 |      # alert $('#post_content').code() | 
| 29 | 34 | summer_note.val summer_note.code() | 
| 30 | 35 | true | 
| 36 | + | |
| 37 | +sendFile = (file, editor, welEditable) -> | |
| 38 | + data = new FormData() | |
| 39 | +	data.append("file", file) | |
| 40 | +	$.ajax { | |
| 41 | + url: '/upload', | |
| 42 | + data: data, | |
| 43 | + cache: false, | |
| 44 | + contentType: false, | |
| 45 | + processData: false, | |
| 46 | + type: 'POST', | |
| 47 | + success: (data) -> | |
| 48 | + editor.insertImage(welEditable, data.url) | |
| 49 | + error: (data) -> | |
| 50 | + editor.insertImage(welEditable, data.url) | |
| 51 | + alert(data.url) | |
| 52 | + } | |
| 31 | 53 |  | 
| 32 | 54 | $(document).ready attachRatingHandler | 
| 33 | -$(document).on "page:load", attachRatingHandler | |
| 55 | +$(document).on "page:load", attachRatingHandler | 
| @@ -63,6 +63,14 @@ class BlogPostsController < ApplicationController | ||
| 63 | 63 |        format.json { head :no_content } | 
| 64 | 64 | end | 
| 65 | 65 | end | 
| 66 | + | |
| 67 | + def upload | |
| 68 | + @file = params[:file] | |
| 69 | + @upload = Upload.create(:file => @file) | |
| 70 | + @upload.save | |
| 71 | + | |
| 72 | +      render(json: {:url => @upload.file.to_s }) | |
| 73 | + end | |
| 66 | 74 |  | 
| 67 | 75 | private | 
| 68 | 76 | # Use callbacks to share common setup or constraints between actions. | 
| @@ -7,6 +7,7 @@ RailsWebsiteTemplate::Application.routes.draw do | ||
| 7 | 7 | get "admin/posts" => "admin_panel#posts", :as => :admin_posts | 
| 8 | 8 | get "admin/users" => "admin_panel#users", :as => :admin_users | 
| 9 | 9 |  | 
| 10 | + post "upload" => "blog_posts#upload", :as => :post_upload | |
| 10 | 11 | get "blog" => "blog_posts#index", :as => :blog | 
| 11 | 12 | get "post/:id" => "blog_posts#show", :as => :post | 
| 12 | 13 | resources :blog_posts, path: '/admin/posts' |